#ifndef _TYPEDEFS_HPP_
#define _TYPEDEFS_HPP_

#include <boost/shared_ptr.hpp>
#include <boost/gil/typedefs.hpp>
#include <boost/gil/image.hpp>
#include <boost/gil/image_view.hpp>

namespace ged {

typedef boost::gil::point2<std::ptrdiff_t> GILPoint;

typedef boost::gil::rgb8_pixel_t GILPixel;

typedef boost::gil::rgb8_image_t GILImage;
typedef boost::shared_ptr<GILImage> PGILImage;

typedef boost::gil::rgb8_step_view_t GILImageView;
typedef boost::shared_ptr<GILImageView> PGILImageView;

class ImageLayer;
typedef boost::shared_ptr<ImageLayer> PImageLayer;

class Image;
typedef boost::shared_ptr<Image> PImage;

class Command;
typedef boost::shared_ptr<Command> PCommand;

class Observer;
typedef Observer* PObserver;

} // namespace ged

#endif	// _TYPEDEFS_HPP_

